• Fixed a problem with System 7.5.1 (Danook) System update where Thread Manager
would not get new thread updates.
• Fixed a problem where Power Mac DebugServices nub would crash when GetEmbeddedSymbol
would have a symbol greater than 128 length.
• Fixed Creator to be 'bran'
-------------------------
New Notes - 2.0b13
-------------------------
• Fixed a problem with System 7.5.1 (Danook) System update where Thread Manager semantics change would cause the Power Mac DebugServices to crash when targeting or
breaking in an app. If for some reason you got beyond this point then you would not be able to set breakpoints.
• Fixed a problem where Power Mac DebugServices nub would freeze the machine if
launched on a 68K box.
• Fixed a problem where Power Mac DebugServices would not bring the target app to
to the front when stepping over a call to CustomGetFile.
-------------------------
New Notes - version 2.0b12
-------------------------
• Changed calling conventions for direct callbacks to pascal style calls.
• Added version checking to initial PPC connection.
• Removed nubs dynamic growing of data structures, since this could occur in the context of
the targeted application of host.
• Fixed bug in version checking.
• Fix to Execute Code function.
• Fixed bug reporting code segments of rseg application because of name mismatch.
• Added "Known Bugs" section to the end of this document.
New Notes - version 2.0b11
-------------------------
• The Protocol Library went through some minor changes. Host initiated calls are now
serviced using direct callbacks instead of going through the PPC Toolbox connection. This
has sped certain transactions up quite a bit (such as fetching lists of containers). These
changes should be invisible to the debugger host code as it all happens under the sheets.
• There were some changes made to the nub to allow the use of kOnDiskSegmented
containers (used with OpenDoc).
• Changed the version number to 2.0b11 instead of 1.0b11 (sorry if this causes problems for
you).
• Fixed a problem where DebugServices would freeze if it was launched on a 68K machine,
it now just does an exit to shell.
• Spell checked this document!
New Notes - version 1.0b9c2
-------------------------
• The Protocol Library went through some minor changes. The multiple iterator packets have
been introduced, which enables getting multiple entities (Processes, sections, containers
and so forth) information through a single request. Read through the updated ERS to see
the changes in the calls.
• DebugServices used to have a bug where it would leave breakpoint traps behind if a new
fragment load overlapped the breakpoint address. This problem have been fixed.
New Notes - version 1.0b8
-------------------------
• Stepping speed have significantly improved since the last version. This was achieved by
removing the protocol ACK from step transactions. If there is an error, however, and the
stepping cannot happen an error will be reported to the host. Stepping error can either be
a host error or a nub error. In either case, those types of errors requires restarting the
debugging session and a phone call to technical support.
• DebugServices currently prevents the user from stepping into 68k code. If the user tries
to step, and the next instruction is 68k code, the target will be resumed. An error
message will not be reported.
• It is not recommended to step into ROM. It is possible however, and will not be
prevented, but the results are unpredictable.
New Notes - version 1.0b4
-------------------------
• DebugServices now issues a notification message when it fails launching an application.
The notification is a "Finder" like notification.
• The DebugServices on startup, tests the trace bit. If from some reason, PPCTraceEnabler
wasn't loaded, DebugServices will issue an error message and quit.
New Notes - version 1.0b2
-------------------------
• DebugServices is now using the machine trace bit to step. To have this ability
you need to place the file "TraceBitEnable" in your extensions folder. DebugServices
will not be able to step if the file is not placed in the extensions folder.
• The DebugServices application will quit if you hold down the <option> <shift>
and <delete> keys (until you get the quit message) simultaneously.
Use it when you need to stop DebugServices without restarting the machine.
• Having the PPC Debugger Nub and DebugServices might be confusing when using
the <Control> key to get a break on launch event. If both are needed, it is best to
get the PPC Debugger Nub attention through a DebugStr and DebugServices attention
by asking the front end to launch the application.
Notes
-----
• Using native extensions (ndcd's) is enabled.
• When using the DebugServices in a single machine configuration, the ProtocolLib code
(linked to the debugger front-end) needs to be resident at all times, since it includes
completion routines that may be called asynchronously.
• The DebugServices might issue the following error messages under the following
circumstances:
"The DebugServices caused the exception."
The nub had an access fault, bus error or any other condition that caused it to crash.
The above message will come up just before propagating the exception to the next
handler.
"The DebugServices cannot resume the stopped process due to a system error."
The nub called the system to stop a process in order to debug it and the stop operation
failed.
"The DebugServices was unable to open the communications port."
Opening of the PPC port have failed.
"Unable to load ndcd. Debugger extensions will not be available."
An error occurred when the DebugServices was loading the ndcd resources from the
preference file. In that case, the extensions will not be available.
"The DebugServices had a fatal error during initialization."
Nub initialization failed and a way that the nub has to quit.
The error messages can be found in the STR# resource of DebugServices. The messages
may be changed if different text is desired.
• ExecuteCode API wasn't tested so wait for the next release before using it.
• To launch a native application by the DebugServices, the application must have
the SIZE resource and in the SIZE resource, the "CanBackground" bit should be set.
• The DebugServices may be connected to a local host or to a remote host. Using
it remotely will give a major performance boost (especially since the switches
between the host and the debugged app do not happen) and it is recommended if
the hardware is available.
-------------------------
Known Bugs
-------------------------
• DebugServices freezes when the user steps over a calls to SetWindowPic
• If you set a breakpoint in a shared lib and an untargeted process hits it you will
be dumped into MacsBug with an unknown breakpoint.
• One user reports "Breakpoints in loader cause problems/crashes. In any app after
reaching main set a bp at the last return address in the callstack ( presumably this
is the loader ). It's higher than the CRT on the stack. Execute. Sometimes you need to
terminate the app if you hit the BP to see the bug." This has not been verified yet.
• One user reports that termination routines of libraries cannot be debugged.
• DebugServices seems to have lost the ability to report when the app
couldn't be launched because a shared library is missing (like the Finder